
package com.shamar.blog.util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;


/**
 * @author zhy
 * @version 1.0
 * @date 2019-12-30
 * @descrption 自定义订单类
 * @detail 工具类，可以用作获取系统日期、订单编号等
 * @className UtilDate
 */
public class UtilDate {

    private static Logger logger = LoggerFactory.getLogger(UtilDate.class);

    private static final Random rad = new Random();

    /**
     * 返回系统当前时间(精确到毫秒)
     *
     * @return 以yyyyMMddHHmmss为格式的当前系统时间
     */
    public static String getDateTimeLong() {
        Date date = new Date();
        return new SimpleDateFormat("yyyyMMddHHmmss").format(date);
    }

    /**
     * 获取系统当前日期(精确到毫秒)，格式：yyyy-MM-dd HH:mm:ss
     *
     * @return
     */
    public static String getDateTime() {
        Date date = new Date();
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
    }

    /**
     * 获取系统当期年月日(精确到天)，格式：yyyyMMdd
     *
     * @return
     */
    public static String getDateShort() {
        Date date = new Date();
        return new SimpleDateFormat("yyyyMMdd").format(date);
    }

    /**
     * 产生随机的三位数
     *
     * @return
     */
    public static String getThree() {
        return rad.nextInt(1000) + "";
    }

    public static Date parseDateTime(String time) {
        try {
            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);
        } catch (ParseException e) {
            logger.error("parse date error", e);
        }
        return null;
    }

    public static Date parseDateTimeLong(String time) {
        try {
            return new SimpleDateFormat("yyyyMMddHHmmss").parse(time);
        } catch (ParseException e) {
            logger.error("parse date error", e);
        }
        return null;

    }
}
